package com.payment.mapper;

import com.payment.model.UserInfo;
import com.payment.model.UserOrderInfo;
import org.springframework.stereotype.Repository;

/**
 * 订单相关接口方法
 * */
@Repository
public interface OrderMapper {
    /**
     * 将当前用户id与生成的订单编码添加到临时表中
     * @参数 使用对象，包含user_id和order_code
     * */
    public Integer addUserOrderCode(UserInfo userInfo);

    /**
     * 验证指定用户的付款码是否有效
     * */
    public UserOrderInfo validateOrderCode(UserInfo userInfo);

    /**
     * 获取指定用户的余额
     * */
    public UserInfo getBalanceByUserId(UserInfo userInfo);

    /**
     * 扣除当前用户的余额
     * */
    public Integer updateUserBalanceByUserId(UserInfo userInfo);

    /**
     * 添加付款订单信息
     * */
    public Integer addPayOrder(UserInfo userInfo);

    /**
     * 执行成功后，删除用户生成的临时付款码
     * */
    public Integer deleteUserOrderCodeByUserId(UserInfo userInfo);
}
